package br.com.salaodebeleza.persistence;

import java.util.List;

import javax.inject.Inject;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import org.slf4j.Logger;

import br.com.salaodebeleza.domain.TbGrupo;
import br.gov.frameworkdemoiselle.stereotype.PersistenceController;
import br.gov.frameworkdemoiselle.template.JPACrud;

@PersistenceController
public class TbGrupoDAO extends JPACrud<TbGrupo, Long> {

	private static final long serialVersionUID = 1L;
	
	@Inject
	@SuppressWarnings("unused")
	private Logger logger;

	public TbGrupo getByNome(String grupo) {
		CriteriaQuery<TbGrupo> criteriaQuery = createCriteriaQuery();
		Root<TbGrupo> from = criteriaQuery.from(TbGrupo.class);
		criteriaQuery.where(getCriteriaBuilder().equal(from.get("nome"), grupo));
		List<TbGrupo> grupos = super.findByCriteriaQuery(criteriaQuery);
		return grupos.isEmpty() ? null : grupos.get(0);
	}

}
